package com.dtt.learning.model;


import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.Id;
import javax.persistence.Table;

/**
 * 使用JPA映射实体类到表格中
 * <p>
 * <pre>
 *     @Entity注解 必须添加
 *     @Table注解 可以添加也可以不添加，该注解可以设置该实体类映射的表名，默认和类名相同
 * </pre>
 * <p>
 * 要正确使用JPA，还需要结合JpaRepository使用，参考repository包下的DemoModelRepository接口
 */
@Entity
@Table(name = "tb_demo_model")
public class DemoModel {


    /**
     * 关键字段
     * <p>
     * 注意: 每一个@Entity注解的类都要有一个@Id注解的属性
     */
    @Id
    private String demoId;

    /**
     * 其他字段可以不用加任何注释，自动与表中列映射
     */
    private int demoLength;

    /**
     * 其他字段也可以添加@Column注解，来约束字段，如长度，是否为空等
     */
    @Column(nullable = false, length = 64)
    private String demoName;

    public String getDemoId() {
        return demoId;
    }

    public void setDemoId(String demoId) {
        this.demoId = demoId;
    }

    public int getDemoLength() {
        return demoLength;
    }

    public void setDemoLength(int demoLength) {
        this.demoLength = demoLength;
    }

    public String getDemoName() {
        return demoName;
    }

    public void setDemoName(String demoName) {
        this.demoName = demoName;
    }
}
